The present invention relates to a system for selecting items from a database and more particularly to a system for selecting items from a database based on previously selected items and descriptions thereof.
Selection of parts or items such as wire cables used for power or signals, plumbing fixtures and pipes, heating, ventilation and air conditioning duct work, aircraft mechanical cabling, pneumatic tubes and the like heretofore generally has been manual or automated only to a rudimentary extent. For the purpose of brevity the word cable is used hereinbelow to represent all such elements appropriate to varied environments, such as, but not limited to, wire for electrical systems, pipes for plumbing systems and tubes for pneumatic systems.
Typically, one or more reference manuals are consulted by a designer in order to determine the part numbers of cable hardware elements that are to be used in a given design of a cable assembly. For relatively complex projects, this requires a large library of part numbers and descriptions of cable hardware provided by a plurality of manufacturers, each of which elements has specific characteristics and compatibility requirements with one another.
The designer refers to a supply manual to choose a part number related to a particular cable hardware element with the desired characteristics. That part number is then generally transcribed by hand to a piece of paper. In the case of a cable connector, for example, the connector itself may be selected first, followed by a strain relief style that is both compatible with the connector itself and with the function which the cable is to provide.
The strain relief generally has provision for one or more inserts that are used to ensure that the cable is tightly secured to the connector. A plurality of wires, of course, makes up a cable diameter. Accordingly, different diameter wires or a different number of wires will require a different diameter cable. Different diameter cables require different inserts. The designer determines the type or number of inserts, therefore, based on the diameter of the wires to be secured.
In addition, various connector styles require the use of different hardware, such as screws, rivets, card guides and the like. As the project progresses, the designer is increasingly constrained to select items that are compatible with one another. Thus, the designer may find that the accumulated cable diameter based on number of wires is so great that the connector and the strain relief style originally chosen are inadequate for the current purpose. This forces the designer to begin the selection process ab initio, referring either to the original manuals or to different manuals. The process of selection, therefore, even though a complete technical description of the cable may be known, is conventionally a tedious one, prone to inaccuracies and frustration.
Moreover, it is possible that the same designer or a different designer is likely to have to repeat this process for other cables in the same products or other products.
U.S. Pat. No. 4,422,158 issued to Galie discloses a digital data processing system and a query composed of entries to locate items that are stored in a multiple layer data base. The entries have one or more event types and the database includes items that have either an exact or an inexact match with entries of the query. The query and a first one of the database layers are processed to form packages having an assigned order. The packages contain representations of the event types in a second layer of the database and representations of the degree of match between the entry in the first layer and an entry of the query. As a result, the representations of the furthest degree of match represent the degree of match of the query to both the first and second layers of the database. As the system is used, the database is immutable (i.e., not updatable by persons using the system). Only one class of users can use the aforementioned system at a time. No provision is made for successively selecting items from the database as a function of previously selected items and data relating at least some descriptions of items to other descriptions.
U.S. Pat. No. 4,648,044 issued to Hardy et al describes a tool for building a knowledge system and running a consultation on a computer The knowledge system includes a knowledge base having English-like language expressing facts, rules and meta-facts for specifying how rules are to be applied to solve a specific problem. The tool includes interactive knowledge base debugging, question generation, legal response checking, explanation, certainty factors and the use of variables. A knowledge engineer in the aforementioned system creates the entire expert system prior to its use. The knowledge engineer is responsible for loading the knowledge base. .The consultation user, on the other hand, does not have the same authority as the knowledge engineer and, in fact, is not permitted to update the knowledge base. This is the case with many expert systems and knowledge based systems.
U.S. Pat. No. 4,658,370 issued to Erman et al discloses a tool for knowledge engineers for building and interpreting a knowledge base having separate portions. Portions include encoding control knowledge, factual knowledge and judgmental rules. The tool has an inference engine applying the judgmental rules according to a built-in control procedure defining discrete status or control steps during a consultation with the user. The tool can be used to build knowledge systems that can explain their conclusions and reasoning and are intelligible and modifiable. The knowledge engineer may provide control blocks to be executed at the start of the consultation, after the instantiation of specified classes, when a value for a specified attribute is to be determined, after a specified attribute is determined and upon explicit invocation by another control block. The knowledge engineer generates a knowledge base to which a user has access. The user also has access to a dynamic database which stores intermediate results along with information identifying how the intermediate results were determined. The intermediate results, by definition, do not include the factual knowledge in the knowledge base. The user is responsible for providing enough information to obtain a complete answer to the queries that he himself poses.
U.S. Pat. No. 4,591,983 issued to Bennett et al discloses a knowledge system with a hierarchical knowledge base comprising a functional decomposition of a set of elements into subsets over a plurality of hierarachical levels, a plurality of predefined functions or conditions of the elements within the subsets of a plurality of a hierarachical levels and a predetermined set of operations to perform on a user defined set of elements responsive to the functional knowledge base. Operations include matching, configuring and expanding the user defined set of elements into the defined subsets of individual elements and evaluating the predetermined functions. The operations are executable recursively. Predefined functions define condition-action constraints to ensure that the subassemblies have compatible components. Functional hierarchy serves to guide the knowledge engineer in designing and maintaining the knowledge base. The knowledge base, however, is not maintainable or updatable by a user.
It would be advantageous to provide a database of items and descriptions thereof that could be extensible as it was accessed by a user.
It would also be advantageous to provide an item selection mechanism by which items could be selected from a database based on a description and data contained in the database.
It would also be advantageous to provide a selection mechanism by which an item could be selected from a database based on a description thereof and based on a previously selected item and based on data relating the description of the item to be selected to the description of the previously selected item.
Further, it would be advantageous to provide a system for guaranteeing compatibility of selected items with previously selected items.
Moreover, it would be advantageous to provide a mechanism by which an item could be selected from a database and a complete set of technical data could be generated as a function of a predetermined description thereof, a function of previously selected items and a function of data relating the description of the item to be selected to descriptions of previously selected items.
It would also be advantageous to provide a system by which successive items could be selected as a function of an ever-increasing amount of data resident in intermediate databases by the selection process itself.